1. Field of the Invention
The present invention pertains to the programming of data in an electrically programmable read-only memory which is part of an integrated circuit.
The application more particularly considered here is that of "memory cards", namely cards comprising an integrated circuit with an electrically programable read-only memory.
2. Description of the Prior Art
The term "electrically programmable read-only memory" refers to a memory in which it is possible to record data by applying appropriate electrical signals at the input of the integrated circuit comprising the memory, this data then remaining recorded in the memory even in the absence of the electrical power for a long period known as a retention period. This period may be as long as several years.
In many applications considered for memory cards, the cards must be produced in very large numbers and data to be recorded on each card may comprise a large number of bits, for example eight kilobits.
Now the programming of each bit, or each octet if the programming is done octet by octet, takes up an amount of time which, although short, is not negligible.
For example, it was first thought that the programming of an octet had to be done by applying a programming voltage Vpp for a period of fifty milliseconds. This period is, in fact, is far greater than needed, but which includes a safety margin making it certain that a retention period of 10 years will be obtained.
To reduce the programming period, it has been proposed to ascertain, immediately after writing, that the transistors which constitute the memory have received a sufficient electrical charge to ensure the retention period. With this check, it is possible to do away the application of a programming voltage with a very high safety margin as used to be done before. In practice, it is possible to carry out the programming operation for 2 milliseconds, read the result (for a few microseconds), start again if the result is wrong and do the programming again for 4 milliseconds, for safety, if the result is right.
However, this programming cycle is still too long when millions of cards have to be programmed: for the manufacturer who programmes the cards, the time is prohibitive.
This is why, it has been thought that the tasks of programming could be pushed on to the user (instead of the manufacturer). Since each user has a smaller number of cards to programme, the problem of time is less critical.
However, this solution cannot be considered in certain cases where the data to be recorded is confidential and must absolutely be recorded by the manufacturer: for example, when the information pertains to the identification of the user and should not be recorded by the user himself.
To resolve the problem of the programming duration, the invention proposes a simple method in which the programming is done in two stages: in a first stage, the manufacturer programmes the data for a very small period which is, however, sufficient for the data to be retained until the second programming stage; during the second stage, which involves the user rather than the manufacturer, the memory is re-programmed, not with data applied again at the input of the integrated circuit which incorporates the memory, but with data already present in the memory, without making this data accessible for reading from outside the integrated circuit and without allowing it to be modified from the outside. This second stage is performed for a programming duration which is as long as is needed to obtain the final retention period desired (for example 10 years).